package cn.maihe.elg.operation.supports.bank.cmb.tradingmanager.pojo;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;


/**
 * [账务查询]账户交易信息查询交易信息
 */
@NoArgsConstructor
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class NormalAccountTrade {
    /**
     * 余额 Y
     */
    @JsonProperty("acctOnlineBal")
    private String acctOnlineBal;

    /**
     * 票据号
     */
    @JsonProperty("billNumber")
    private String billNumber;

    /**
     * 收付方名称
     * 为C(收入)时,则为[付款方]名称<p/>
     * 为D(支出)时,则为[收款方]名称<p/>
     */
    @JsonProperty("ctpAcctName")
    private String ctpAcctName;

    /**
     * 收付方帐号
     * 为C(收入)时,则为[付款方]账号<p/>
     * 为D(支出)时,则为[收款方]账号<p/>
     */
    @JsonProperty("ctpAcctNbr")
    private String ctpAcctNbr;


    /**
     * 收付方开户行地址
     */
    @JsonProperty("ctpBankAddress")
    private String ctpBankAddress;

    /**
     * 收付方开户行行名
     */
    @JsonProperty("ctpBankName")
    private String ctpBankName;

    /**
     * 币种
     */
    @JsonProperty("currencyNbr")
    private String currencyNbr;

    /**
     * 扩展摘要
     */
    @JsonProperty("extendedRemark")
    private String extendedRemark;


    /**
     * 借贷码
     * <pre>
     *    D-借方（支出）
     *    C-贷方（收入）
     * </pre>
     */
    @JsonProperty("loanCode")
    private String loanCode;


    /**
     * 你方摘要  若为企业银行客户端经办的交易，则该字段为用途信息（4.0版代发代扣业务除外）若为其它渠道经办的交易，则该字段为交易的简单说明和注解。
     */
    @JsonProperty("remarkTextClt")
    private String remarkTextClt;

    /**
     * 冲帐标志
     */
    @JsonProperty("reversalFlag")
    private String reversalFlag;

    /**
     * 交易类型
     */
    @JsonProperty("textCode")
    private String textCode;

    /**
     * 交易金额  Y
     * 为D(支出)时,金额为负数,例如:-0.05
     */
    @JsonProperty("transAmount")
    private String transAmount;

    /**
     * 交易日 Y
     */
    @JsonProperty("transDate")
    private String transDate;

    /**
     * 流水号 Y
     */
    @JsonProperty("transSequenceIdn")
    private String serialNumber;


    /**
     * 交易时间
     */
    @JsonProperty("transTime")
    private String transTime;

    /**
     * 起息日
     */
    @JsonProperty("valueDate")
    private String valueDate;

    /**
     * 虚拟户编号
     */
    @JsonProperty("virtualNbr")
    private String virtualNbr;
}
